<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>MpegDemultiplexer: CPESBuilder Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">MpegDemultiplexer
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_c_p_e_s_builder.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">CPESBuilder Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="CPESBuilder" --><!-- doxytag: inherits="IPESBuilder" -->
<p><code>#include &lt;<a class="el" href="_c_p_e_s_builder_8h_source.html">CPESBuilder.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CPESBuilder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_c_p_e_s_builder.png" usemap="#CPESBuilder_map" alt=""/>
  <map id="CPESBuilder_map" name="CPESBuilder_map">
<area href="class_i_p_e_s_builder.html" alt="IPESBuilder" shape="rect" coords="0,0,85,24"/>
</map>
 </div></div>

<p><a href="class_c_p_e_s_builder-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>EFixMode</b> { <b>none</b>, 
<b>allowAny</b>, 
<b>allowFew</b>, 
<b>considerLength</b>
 }</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_p_e_s_builder.html#a581a16fa8defeec292dc759a66a1256c">CPESBuilder</a> (std::set&lt; unsigned int &gt; pidsEFixMode, EFixMode eMode=none)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_p_e_s_builder.html#a7c60ef2cbd40e3df133a8a886372a2da">~CPESBuilder</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_p_e_s_builder.html#ac87fde889a2fecaf3dfa337bae3a9127">buildPes</a> (<a class="el" href="class_i_t_s_builder.html">ITSBuilder</a> *cTSBuilder)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="class_c_p_e_s.html">CPES</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_p_e_s_builder.html#aa8db39a3794e2b78e372be3c18f9cd03">getPESPackets</a> (unsigned int PID)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class builds PES from TS packets.it assembles all TS packets that belong to the same PES and reconstructs the original PES out of them all.Each finished PES puts into the relevant PES list based on the PES PID. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a581a16fa8defeec292dc759a66a1256c"></a><!-- doxytag: member="CPESBuilder::CPESBuilder" ref="a581a16fa8defeec292dc759a66a1256c" args="(std::set&lt; unsigned int &gt; pidsEFixMode, EFixMode eMode=none)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_p_e_s_builder.html#a581a16fa8defeec292dc759a66a1256c">CPESBuilder::CPESBuilder</a> </td>
          <td>(</td>
          <td class="paramtype">std::set&lt; unsigned int &gt;&#160;</td>
          <td class="paramname"><em>pidsEFixMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EFixMode&#160;</td>
          <td class="paramname"><em>eMode</em> = <code>none</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>c'tor </p>

</div>
</div>
<a class="anchor" id="a7c60ef2cbd40e3df133a8a886372a2da"></a><!-- doxytag: member="CPESBuilder::~CPESBuilder" ref="a7c60ef2cbd40e3df133a8a886372a2da" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_p_e_s_builder.html#a7c60ef2cbd40e3df133a8a886372a2da">CPESBuilder::~CPESBuilder</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>d'tor. deletes the PES lists and the list that keeps pointers to unfinished PESs </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac87fde889a2fecaf3dfa337bae3a9127"></a><!-- doxytag: member="CPESBuilder::buildPes" ref="ac87fde889a2fecaf3dfa337bae3a9127" args="(ITSBuilder *cTSBuilder)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_c_p_e_s_builder.html#ac87fde889a2fecaf3dfa337bae3a9127">CPESBuilder::buildPes</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_i_t_s_builder.html">ITSBuilder</a> *&#160;</td>
          <td class="paramname"><em>cTSBuilder</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Build audio and video PESs from the TSs inside a <a class="el" href="class_i_t_s_builder.html">ITSBuilder</a> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">cTSBuilder</td><td>- this object contains TS lists </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_i_p_e_s_builder.html#a24b68d45e0a0a5f8ce703c5bec3db2ed">IPESBuilder</a>.</p>

</div>
</div>
<a class="anchor" id="aa8db39a3794e2b78e372be3c18f9cd03"></a><!-- doxytag: member="CPESBuilder::getPESPackets" ref="aa8db39a3794e2b78e372be3c18f9cd03" args="(unsigned int PID)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="class_c_p_e_s.html">CPES</a> * &gt; * <a class="el" href="class_c_p_e_s_builder.html#aa8db39a3794e2b78e372be3c18f9cd03">CPESBuilder::getPESPackets</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>PID</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a list of PESs </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">PID</td><td>- the pid of the stream </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector that contains all the PESs that belong to this PID </dd></dl>

<p>Implements <a class="el" href="class_i_p_e_s_builder.html#aa9469306186a8b85ca03c6081b7b9e82">IPESBuilder</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_c_p_e_s_builder_8h_source.html">CPESBuilder.h</a></li>
<li>CPESBuilder.cpp</li>
</ul>
</div><!-- contents -->
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_c_p_e_s_builder.html">CPESBuilder</a>      </li>

    <li class="footer">Generated on Sat Feb 4 2012 15:52:58 for MpegDemultiplexer by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
